
package webservices.framework.affilinet.types.productservice;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import com.microsoft.schemas._2003._10.serialization.arrays.ArrayOfint;


/**
 * <p>Java class for GetProductsRequestMessage complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="GetProductsRequestMessage">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="ProductIds" type="{http://schemas.microsoft.com/2003/10/Serialization/Arrays}ArrayOfint"/>
 *         &lt;element name="Details" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="ImageSize" type="{http://affilinet.framework.webservices/types/ProductService}ImageSize"/>
 *         &lt;element name="CurrentPage" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="PageSize" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="SortBy" type="{http://affilinet.framework.webservices/types/ProductService}SortBy"/>
 *         &lt;element name="SortOrder" type="{http://affilinet.framework.webservices/types/ProductService}SortOrder"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "GetProductsRequestMessage", propOrder = {
    "productIds",
    "details",
    "imageSize",
    "currentPage",
    "pageSize",
    "sortBy",
    "sortOrder"
})
public class GetProductsRequestMessage {

    @XmlElement(name = "ProductIds", required = true, nillable = true)
    protected ArrayOfint productIds;
    @XmlElement(name = "Details")
    protected boolean details;
    @XmlElement(name = "ImageSize", required = true)
    protected ImageSize imageSize;
    @XmlElement(name = "CurrentPage")
    protected int currentPage;
    @XmlElement(name = "PageSize")
    protected int pageSize;
    @XmlElement(name = "SortBy", required = true)
    protected SortBy sortBy;
    @XmlElement(name = "SortOrder", required = true)
    protected SortOrder sortOrder;

    /**
     * Gets the value of the productIds property.
     * 
     * @return
     *     possible object is
     *     {@link ArrayOfint }
     *     
     */
    public ArrayOfint getProductIds() {
        return productIds;
    }

    /**
     * Sets the value of the productIds property.
     * 
     * @param value
     *     allowed object is
     *     {@link ArrayOfint }
     *     
     */
    public void setProductIds(ArrayOfint value) {
        this.productIds = value;
    }

    /**
     * Gets the value of the details property.
     * 
     */
    public boolean isDetails() {
        return details;
    }

    /**
     * Sets the value of the details property.
     * 
     */
    public void setDetails(boolean value) {
        this.details = value;
    }

    /**
     * Gets the value of the imageSize property.
     * 
     * @return
     *     possible object is
     *     {@link ImageSize }
     *     
     */
    public ImageSize getImageSize() {
        return imageSize;
    }

    /**
     * Sets the value of the imageSize property.
     * 
     * @param value
     *     allowed object is
     *     {@link ImageSize }
     *     
     */
    public void setImageSize(ImageSize value) {
        this.imageSize = value;
    }

    /**
     * Gets the value of the currentPage property.
     * 
     */
    public int getCurrentPage() {
        return currentPage;
    }

    /**
     * Sets the value of the currentPage property.
     * 
     */
    public void setCurrentPage(int value) {
        this.currentPage = value;
    }

    /**
     * Gets the value of the pageSize property.
     * 
     */
    public int getPageSize() {
        return pageSize;
    }

    /**
     * Sets the value of the pageSize property.
     * 
     */
    public void setPageSize(int value) {
        this.pageSize = value;
    }

    /**
     * Gets the value of the sortBy property.
     * 
     * @return
     *     possible object is
     *     {@link SortBy }
     *     
     */
    public SortBy getSortBy() {
        return sortBy;
    }

    /**
     * Sets the value of the sortBy property.
     * 
     * @param value
     *     allowed object is
     *     {@link SortBy }
     *     
     */
    public void setSortBy(SortBy value) {
        this.sortBy = value;
    }

    /**
     * Gets the value of the sortOrder property.
     * 
     * @return
     *     possible object is
     *     {@link SortOrder }
     *     
     */
    public SortOrder getSortOrder() {
        return sortOrder;
    }

    /**
     * Sets the value of the sortOrder property.
     * 
     * @param value
     *     allowed object is
     *     {@link SortOrder }
     *     
     */
    public void setSortOrder(SortOrder value) {
        this.sortOrder = value;
    }

}
